/* 
 * File:   UserCommand.h
 * Author: Gab'z
 *
 * Created on 8 mai 2012, 13:52
 */

#ifndef USERCOMMAND_H
#define	USERCOMMAND_H

#include "Operateur.h"
#include "Expression.h"

class UserCommand : public Operateur {
    Expression* _expression;
public:

    UserCommand(const std::string& name, const Expression* expression) :
    Operateur(name), _expression(expression->clone()) {
    }

    virtual ~UserCommand();
private:
    void exec(Pile* pile) const throw (OperatorException) = 0 ;

};

#endif	/* USERCOMMAND_H */

